<template>
    <smart-page>
        <template #actions>
            <a-button v-auth="Acl.FINANCE_CURRENCY_TARIFF_DELETE" :disabled="selectedKeys.length === 0" @click="onDelete()">批量删除</a-button>
            <a-button v-auth="Acl.FINANCE_CURRENCY_TARIFF_ADD" type="primary" @click="editCtr.open()">新建充值定价</a-button>
        </template>

        <a-table v-model:selectedKeys="selectedKeys"
                 :table-layout-fixed="theme.layoutFixed"
                 :row-selection="rowSelection"
                 :columns="CURRENCY_TARIFF"
                 :row-key="rowKey"
                 :column-resizable="theme.resizable"
                 :bordered="theme.bordered"
                 :stripe="theme.stripe"
                 :sticky-header="theme.sticky"
                 :hoverable="theme.hoverAble"
                 :pagination="pagination"
                 :loading="theme.loading"
                 :data="dataSource"
                 @page-change="onPageChange"
                 @page-size-change="onPageSizeChange">
            <template #action="{ record }">
                <a-space size="mini">
                    <a-link v-auth="Acl.FINANCE_CURRENCY_TARIFF_UPDATE" @click="editCtr.open(record)"> 编辑</a-link>
                    <a-link v-auth="Acl.FINANCE_CURRENCY_TARIFF_DELETE" status="danger" @click="onDelete(record)"> 删除</a-link>
                </a-space>
            </template>
        </a-table>
        <edit-modal v-if="editCtr.show" :record="editCtr.record" @cancel="editCtr.close"/>

    </smart-page>
</template>
<script lang="ts" setup name="finance-currency-tariff">
import {onMounted} from 'vue';

import {CURRENCY_TARIFF} from "../resource/colums";
import {TablePage} from "@/libs/core";
import {SystemHttp} from "../resource/http";
import EditModal from './edit.vue'
import {Acl} from "@/libs/acl";


const pageConfig = {title: '充值定价', rowKey: 'id', nameKey: 'title'}
const {getTariffPage, delTariff} = SystemHttp
const tablePage = new TablePage(pageConfig).setFetchXhr(getTariffPage).setDeleteXhr(delTariff).setPermission(Acl.FINANCE_CURRENCY_TARIFF_PAGE_LIST);
const {theme, pagination, rowKey, dataSource, rowSelection, selectedKeys, editCtr, readCtr} = tablePage
const {onFetch, onPageChange, onPageSizeChange, onDelete, onSearch} = tablePage
onMounted(() => onFetch())
</script>

